Aspects of the present invention relate in general to reproducing a graphical user interface display, and more particularly, to reproducing a graphic user interface display based on data transmitted over a network between a server system and a client device. Graphical user interfaces are used to display content to a user. One type of graphical user interface is a web page. Web pages are often represented by Hyper Text Markup Language (HTML). The HTML code often references several files in order to display the web file. These files may be for images, text, or other objects. These sub-files may be cached by proxy servers between the server providing the web page and the client device viewing the web page. Additionally, the client device that displays the web-page may cache some of the files locally.
When a user accesses a web page, the client system displaying that web page will first determine whether any of the files have been cached locally or by proxy servers between the client device and the server providing the web page. If it is determined that any of these files have been cached, then it will next determine whether these cache files are valid. It may be the case that the files have been updated since they were cached. If the cached files are still valid, then the client system does not have to wait as long to receive the file from the server. This reduces traffic on the network.
In many computing applications, a second client device may wish to view the same web page being viewed by a first client device. A graphical user interface display reproduction system may be used to reproduce the image associated with a graphical user interface display on the first client. This reproduced image may then be sent to the second client for display. The graphical user interface display reproduction system may monitor network traffic between the server providing the web page and the first client device displaying the web page. However, the traffic may not include all of the files needed to create the full web page. This is because some of the files are cached at various places along the route between the server and the first client device.